package com.ruoyi.sts.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.utils.DateUtils;

import java.util.Date;
import java.util.List;

/**
 * 客流数据对象 sts_data_detail
 *
 * @author maoxiaodong
 * @date 2025-04-20
 */
public class StsDataDeptStatisticQuery
{
    private static final long serialVersionUID = 1L;

    /** 部门ID字段 */
    private String deptIdAttr;

    /** 部门NAME字段 */
    private String deptNameAttr;

    /** 部门ID */
    private List<Long> deptIds;

    /** 部门ID2 */
    private List<Long> deptIds2;

    /** 部门ID3 */
    private List<Long> deptIds3;

    /** 日 */
    private String day;

    /** 月 */
    private String month;

    /** 年 */
    private String year;

    private String dateFormat;

    /** 一级部门ID */
    private Long deptId1;

    /** 二级部门ID */
    private Long deptId2;

    /** 三级部门ID */
    private Long deptId3;

    /** 节假日ID */
    private List<Long> holidayIds;


    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    public String getDeptIdAttr() {
        return deptIdAttr;
    }

    public void setDeptIdAttr(String deptIdAttr) {
        this.deptIdAttr = deptIdAttr;
    }

    public String getDeptNameAttr() {
        return deptNameAttr;
    }

    public void setDeptNameAttr(String deptNameAttr) {
        this.deptNameAttr = deptNameAttr;
    }

    public List<Long> getDeptIds() {
        return deptIds;
    }

    public void setDeptIds(List<Long> deptIds) {
        this.deptIds = deptIds;
    }

    public String getDay() {
        return day;
    }

    public void setDay(String day) {
        this.day = day;
    }

    public String getMonth() {
        return month;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getDateFormat() {
        return dateFormat;
    }

    public void setDateFormat(String dateFormat) {
        this.dateFormat = dateFormat;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        if(endTime != null){
            this.endTime = DateUtils.addSeconds(DateUtils.addDays(endTime,1), -1);
        }

    }

    public Long getDeptId1() {
        return deptId1;
    }

    public void setDeptId1(Long deptId1) {
        this.deptId1 = deptId1;
    }

    public Long getDeptId2() {
        return deptId2;
    }

    public void setDeptId2(Long deptId2) {
        this.deptId2 = deptId2;
    }

    public Long getDeptId3() {
        return deptId3;
    }

    public void setDeptId3(Long deptId3) {
        this.deptId3 = deptId3;
    }

    public List<Long> getHolidayIds() {
        return holidayIds;
    }

    public void setHolidayIds(List<Long> holidayIds) {
        this.holidayIds = holidayIds;
    }

    public List<Long> getDeptIds2() {
        return deptIds2;
    }

    public void setDeptIds2(List<Long> deptIds2) {
        this.deptIds2 = deptIds2;
    }

    public List<Long> getDeptIds3() {
        return deptIds3;
    }

    public void setDeptIds3(List<Long> deptIds3) {
        this.deptIds3 = deptIds3;
    }
}
